1. Field of the Invention
This invention relates to digital video processing.
2. Description of the Prior Art
In digital video processing apparatus such as a video special effects apparatus, input images of an input video sequence are processed to generate output images of an output video sequence. Between the overall input to the system and the overall output from the system (both generally images) there may be other intermediate data types generated, for example motion vectors and position values.
In one example of such an apparatus, the user can set up a composite special effect to be applied to a video sequence by selecting a succession of effects modules from a large number of available modules. For example, a sequence (a xe2x80x9cdirected acyclic graphxe2x80x9d) of effects set up by a user might comprise:
(i) image loader
(ii) motion tracker
(iii) lighting effect linked to motion tracking and image loader
(iv) image realignment linked to motion tracking and image loader
Once a particular effect has been selected and all the parameters defined, a xe2x80x9crenderingxe2x80x9d operation has to take place.
Rendering is the process of generating an output image (or series of images forming an output video sequence) according to the processing operation which has been set up. For example, a lighting effect might involve the user selecting a source and a destination position for a computer-generated spotlight to be applied to a video sequence. Once these positions have been defined, the next task is to render each image in the output sequence by applying the defined lighting effect to determine the colour and luminance of each pixel of each output image.
This invention provides digital video processing apparatus comprising:
a plurality of render processors arranged in a directed acyclic graph, each operable to render an output result relating to an image of a video signal from input data relating to that and/or other images received from a preceding render processor in the directed acyclic graph; and
a render controller for controlling rendering operation of the render processors;
each render processor being operable to communicate dependency data to the render controller, indicating which images must be rendered by a preceding render processor in order for that render processor to render output data relating to a required image; and
the render controller being operable to control operation of the render processors so that images required by each render processor are rendered by preceding render processors in the directed acyclic graph.
In the invention, each render processor can communicate its dependencies to a render controller, which in turn controls other render processors earlier in the operational sequence or directed acyclic graph to provide the images needed by that render processor.
The above, and other objects, features and advantages of this invention will be apparent from the following detailed description of illustrative embodiments which is to be read in connection with the accompanying drawings.